import Vue from 'vue'
import Vuex from 'vuex'
// 导入user模块
import user from './modules/user.js'
Vue.use(Vuex)

export default new Vuex.Store({
	state: {
		// 定义user状态（数据）
		user: {
			name: "zeng8",
			score: 280,
		}
	},
	getters: {
		// 从现有数据计算出新的数据
		// 计算用户的登记100分一个级
		level(state){
			// String转换为字符串
			// toFixed保留一个小数点
			return (state.user.score/100).toFixed(1);
		}
	},
	mutations: {
		// 改变数据的唯一方式只能在mutations里面
		// 建议方法名大写，默认一个参数是state
		// 第二参数就是方法调用传入的参数
		SET_SCORE(state, data) {
			state.user.score= data;
		}
	},
	actions: {
		// 所有针对state的异步操作，网络请求放在actions
		// context上下文，理解为$store
		changeScore(context,data){
			setTimeout(()=>{
				context.commit('SET_SCORE',data);
			},5000)
		}
	},
	modules: {
		user,
	}
})
// store仓库 ，state状态（数据），getters获取器，
// mutations变异改变，actions动作 ，modules模块1830004618
